/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package util;
import javax.swing.JTextField;
import javax.swing.text.PlainDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException; 
/**
 *
 * @author alguien d internet
 */
/*
 *
 *
PARA USAR ESTO TIENEN Q PONER EN EL HABILITAR VENTANA ALGO COMO ESTO:


txtCampitoDeTxto.setDocument(new LimitadorCaracteres(txtCampitoDeTxto,10));

 // Se pone el limitador en el editor a 10 caracteres

 *
 * FRAN
*/

public class LimitadorCaracteres extends PlainDocument
{
    /**
     * El editor del que estamos limitando caracteres.
     */
    private JTextField editor;
    
    /**
     * Número máximo de caracteres que deseamos en el editor.
     */
    private int numeroMaximoCaracteres;

    /**
     * Crea una instancia de LimitadorCaracteres.
     * 
     * @param editor Editor en el que se quieren limitar los caracteres.
     * @param numeroMaximoCaracteres Número máximo de caracteres que queremos
     * en el editor.
     */
    public LimitadorCaracteres(JTextField editor, int numeroMaximoCaracteres)
    {
        this.editor=editor;
        this.numeroMaximoCaracteres=numeroMaximoCaracteres;
    }
    
    /**
     * Método al que llama el editor cada vez que se intenta insertar caracteres.
     * El método comprueba que no se sobrepasa el límite. Si es así, llama al
     * método de la clase padre para que se inserten los caracteres. Si se 
     * sobrepasa el límite, retorna sin hacer nada.
     */
       


     @Override
     public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
     {
        if ( str.indexOf("?") == -1 && str.indexOf("?") == -1 && (getLength() + str.length()) <= numeroMaximoCaracteres)
            super.insertString(offs, str, a);
     }

    
}